/*
GraphicEngine.hpp
-----------------

Par Bréhaut Vincent le 21/02/2011

Rôle: Charger, afficher, modifier les images
*/

#ifndef DEF_GRAPHIC_ENGINE
#define DEF_GRAPHIC_ENGINE

#include <iostream>
#include <SFML/Graphics.hpp>
#include <vector>

class GraphicEngine
{
    public:
        // Constructeur
        GraphicEngine(sf::RenderWindow &App);
        // On charge toutes les images de la GUI
        void LoadGUI();
        void LoadSystem();
        sf::Image* GetGUIImage(unsigned int id);
        sf::Image* GetSystemImage(unsigned int id);

        void Draw(const sf::Drawable &objet);
        void Clear(const sf::Color& color);
        void Display();
    protected:
        sf::RenderWindow &m_app;
        std::vector<sf::Image> m_gui; // Images de la GUI
        std::vector<sf::Image> m_system; // Images system du jeu(Ecran titre ect...)
};

#endif
